System and method for design and dynamic generation of a web page

ABSTRACT

A system and method for dynamically generating a web page is disclosed. The web page includes a frame having content cells. Content for the content cells is provided based in part on business rules. A business rules engine processes, in real-time, an online interaction and determines appropriate content for the content cells. The business rules engine outputs a pointer to the content which is used to populate the content cell.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application No.60/716,535, filed Sep. 14, 2005, entitled FOLLOW-UP ENGINE, and U.S.Provisional Patent Application No. 60/717,212, filed Sep. 15, 2005,entitled SMART BAR, both of which are hereby incorporated by referencein their entirety. This application is related to U.S. application Ser.No. 11/360,530, entitled SYSTEM AND METHOD FOR PERFORMING FOLLOW-UPBASED ON USER INTERACTIONS, filed Feb. 24, 2006, which is herebyincorporated by reference in its entirety.

FIELD OF THE INVENTION

The present invention relates to computer browsing and, moreparticularly, to providing a web page based on user interaction.

BACKGROUND OF THE INVENTION

Networks, such as the Internet, have become an increasingly importantpart of our everyday lives. Millions of people now access the Interneton a daily basis to shop for goods and services and obtain informationof interest.

The web is built on a very simple, but powerful premise. Much of thematerial on the web is formatted in a general, uniform format calledHTML (Hypertext Markup Language) or the like, and all informationrequests and responses conform to a similarly standard protocol. Whensomeone accesses a server on the Web, the user's Web browser will sendan information request to a Web server. The Web server will respond tothe request by transmitting the desired information to the user'scomputer. There, the user's browser will display the receivedinformation on the user's screen.

For example, suppose an individual wishes to purchase a printer via theInternet. The individual accesses the Internet and types in a vendor'suniform resource locator (URL). The individual may then access thatvendor's home page to determine whether the vendor has the product thatthis individual wishes to purchase.

If the individual does not know which vendors sell printers, theindividual may access a web site associated with a search engine. Theindividual enters the generic term “printer” into the search engine toattempt to locate a vendor that sells printers. Using a search engine inthis manner to locate individual web sites that offer the desiredproduct or service often results in a list of hundreds or even thousandsof “hits,” where each hit may correspond to a web page that relates tothe search term.

Once a user decides which web page to visit, the web page is formulatedto interest the user. In particular, many web pages allow a user tocustomize the web pager so that each time the user visits the web page,the customized web page is presented to the user. One of the challengesof online interactions is providing customers or users with consistentonline experience while using different channels such as websitenavigation, email, chat, bulletin boards, discussion forums, chat, andthe like. For this uniform presentation, cookies are used.

Cookies are pieces of information generated by a web server and storedin the user's computer, for future access. Cookies are embedded in thehttp information flowing back and forth between the user's computer andthe servers. Cookies allow user-side customization of web information.For example, cookies are used to personalize web search engines, toallow users to participate in WWW-wide contests, to store shopping listsof items a user has selected while browsing through a virtual shoppingmall, and the like.

Essentially, cookies make use of user-specific information transmittedby the web server onto the user's computer so that the information mightbe available for later access by itself or other servers. Typically, theservers are part of the same domain. In most cases, not only does thestorage of personal information into a cookie go unnoticed, so doesaccess to it. Web servers automatically gain access to relevant cookieswhenever the user establishes a connection to them, usually in the formof web requests.

There are many reasons a given site would wish to use cookies. Theserange from the ability to personalize information, help with on-linesales/services, or simply for the purposes of collecting demographicinformation. Cookies also provide programmers with a quick andconvenient means of keeping site content fresh and relevant to theuser's interests. The newest servers use cookies to help with back-endinteraction as well, which can improve the utility of a site by beingable to securely store any personal data that the user has shared with asite to help with quick logins, and the like.

Prior dynamically generated web sites, based on cookie customization,allow users and content providers to customize content. However, whilethese pages are dynamically generated based on a cookie, or hard codingscenarios in the web page or server. There is no flexibility to changethe web page. Further, control of the web page is with the programmer,not a marketing group.

SUMMARY OF THE INVENTION

The present invention provides a system and method to dynamically alterweb pages based on a user's activity, marketing objectives, andpredetermined conditions. There are two major modules in the disclosedsystem:

1. SmartBar™ tool; and

2. Business rule engine.

The first component is the SmartBar™ tool. The SmartBar™ is an onlinemarketing tool that provides a point of reference on the web page forinformation and communication that is relevant to the specific viewer.In a preferred embodiment, the SmartBar™ is placed at the same locationon each web page for a given site. A SmartBar™ or frame is providedcontaining at least one SmartBar™ cells. Each SmartBar™ cell isassociated with a particular marketing objective. For the visitor on thesite, it delivers a guided and personalized online experience withrelevant and timely content. In one embodiment, Smart Bar™ modifies webpages to be viewed based in part on the items a user selects as well asthe time a user spends on a specific page. Additionally, past browsingexperiences can be considered. Smart Bar™ dynamically selects cellcontent for a web page and dynamically renders each cell, or selectscells, or alternatively, dynamically generates content for a web page.One goal of the Smart Bar™ is to enhance the browsing experience andminimize shopping cart abandonment.

The second component is the business rules engine that processes, inreal-time, the events associated with each viewer and decides whatbusiness action is required. Business intelligence in the rules engineidentifies what content is displayed in the SmartBar™.

In one embodiment, Smart Bar™ is used to develop marketing campaigns.Rules consist of conditions and their associated action or actions.Rules are preferably organized by campaign. Rules are used to determinewhat content should be displayed. The system can display promotionalmaterial, help icons, chat icons, sale items, other potentiallyinteresting links based on activity, and the like. Each rule is assigneda priority. Thus, if more than one rule is triggered by a user'sactivity or browsing behavior, the rule priority determines which ruleis triggered first and if other rules are subsequently triggered.

The business rules engine processes, in real-time, events associatedwith each visitor, and decides what rule is required. In one embodiment,the rules engine identifies whether a current visitor is a returningcustomer or a new customer and initiates the appropriate outcome oroutcomes.

Each campaign can be broken down into segments. Each segment is adaptedto deal with a specific event or type of user. This speeds thecustomization process and enables marketers to quickly developcampaigns.

SmartBar™ users can generate and save rules for use in other campaigns.In one embodiment, rules are stored in a database. These rules are thenselected and customized, if necessary, for a campaign. The same rule canbe used in multiple campaigns. Each campaign can be considered acontainer to group rules.

SmartBar™ enhances a web site visitor's satisfaction with a site layoutand assists performance of a specific task. If a user's activity isindicative of a problem, a frame can be loaded with instructionsdetailing how to complete a task. Alternatively, a help icon or chaticon for customer service can be loaded. In this manner, a user's website experience is enhanced. For example, if a user's activity indicatesproblems with checkout, a frame will appear to guide the user throughthe checkout process, thereby avoiding shopping cart abandonment andlost sales.

In one embodiment, SmartBar™ can deliver directed advertising in theform of services or products to a visitor. The advertising will changeas the user navigates the web site. In one embodiment, content ispresented to a user based on the visitor's browsing history.

The SmartBar™ provides a structure for managing multiple marketingmessages in real time. The SmartBar™ enables the marketer to defineSmartBar™ Cells, each cell dedicated to deliver different type ofmarketing messages. The SmartBar™ tool provides a user interface toconfigure content for the SmartBar™ cells. The SmartBar™ serves as avaluable medium to deliver targeted promotions, relevant content andproactive communications. Offering a combination of audience-specificnavigation aids and relevant information, the SmartBar™ employsdynamically generated content that actively guides visitors through thesite, so the marketer can truly replicate the in-store experience in anonline environment. An improved user experience yields improvedconversion rates, increase customer satisfaction, and promote brandloyalty by delivering an unmatched experience on the website. Forexample, in a typical SmartBar™, one cell may deliver productpromotions, a second cell may deliver product comparison information,and a third cell may deliver a button for live-chat with the callcenter.

This intelligent and proactive technology tracks customer behavior toaccurately identify and reach audience segments most likely to respondto personalized offers. SmartBar™ dynamically embeds content seamlesslyinto a webpage.

The combination of these two components allows for an effective handlingof large volumes of interactions required in today's online environment.The disclosed system and method addresses the challenge presented towebsite managers who are interested in modifying, in real time, acurrent session of customers on the site.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 System according to the present invention;

FIG. 2 is a flowchart of the method of user interaction according to thepresent invention;

FIGS. 3A-3H represent screen shots of a typical user interaction on aweb site; and

FIGS. 4A-4E represent typical screens for creating rules and SmartBarcell content.

DETAILED DESCRIPTION

FIG. 1 depicts an embodiment of a system according to the presentinvention. As shown, a user 10 is connected to a web server 11 via theInternet. The user 10 has additional means of communication such as atelephone 50, fax machine, cell phone, hand held computer, and the like.In one embodiment, radio communication is implemented via radio tower40. The web server 11 includes a database 22, which stores a pluralityof web pages such as web page 20. In one embodiment, a second server 30includes a module 32 for the application of business rules and dynamicweb page generation or SmartBar™ cell population. In one embodiment,module 32 is part of server 30. In another embodiment, module 32 is partof web server 11. In another embodiment, module 32 is housed in anothercomputer. Module 32 accesses data from database 34. Business rules arepreferably stored in database 34. It should be noted that the functionsof module 32 can be performed using separate modules.

There are at least three configurations for SmartBar™ system. In thefirst embodiment, the web site content and the SmartBar™ system arehoused on a single server or linked servers. The user requests a webpage containing SmartBar™ content and the web page and SmartBar™ contentis provided by a single server. In the second embodiment, a first webserver retrieves SmartBar™ content from a second server and provides thecontent to a user. In the third preferred embodiment, a user requests aweb page containing SmartBar™ content from a server. The SmartBar™content has scripts that retrieve content from a SmartBar™ server.

In operation, a user 10 requests a web page 20 from server 11. Webserver 11 retrieves web page 20 from database 22. The web server, orother computer, in conjunction with server 30 and module 32, populatesareas 21 in web page 20. Areas 21 are populated based in part onbusiness rules. It should be noted that areas 21 are not fixed for everypage but can vary in position and size depending on page layout. Inanother embodiment, areas 21 are overlays or pop-ups. In one embodiment,module 32 also hosts the content for areas 21. In another embodiment,database 22′ hosts the content for areas 21. Preferably, web page 20includes embedded code that defines each area 21. These areas 21 arepopulated based on the embedded code, the user's activity, and theapplication of business rules. In a preferred embodiment, module 32includes a business rules engine and a SmartBar™ tool. In anotherembodiment, the business rules engine and the SmartBar™ tool areseparate modules.

The areas 21, the SmartBar™ frame, are populated using elementsretrieved from a database based in part on business rules. Preferably,server 30, and more particularly database 34, provides pointers todatabase 22 where the content is stored. The SmartBar™ tool modifies theuser's experience via such items as chat, pop-ups, displays, cellcontent, clickable images, and the like, modify the user experience. Thecode is embedded on the page 20 at the desired location 21 chosen by themarketer, web designer, alike, possibly using an include file statement.It should be noted that the system can preferably push additional itemsto overlay or populate a new window such as a pop-up or chat channel.Overlays float over a page and pop-ups are new windows. The code issuesreal-time request asking the server for dynamic content that best matchthis visitor at this time. Each of these request triggers a sequence ofbusiness rule evaluations that are associated with the particular webpage. These business rules determine the actual content to be displayedin each of the cells 21. The way the cells 21 are displayed to thevisitor is de-coupled from the cell definition and from the rules thatdetermine the content of the cells. The component that controls thedisplay, or look & feel, of the SmartBar™ cell 21 is the SmartBar™Template. The user can define SmartBar™ templates in the ContentLibrary. The template may contain any web-page code (e.g. HTML, DHTML,or ASP).

As shown in FIG. 2, the process begins when a user requests a web page.The system retrieves a web page format for the requested page. (Step100). In one embodiment, the web page format is retrieved from database90. The system then generates the web page including any SmartBar™ cells21. (Step 110). The content of the SmartBar™ calls is determined basedon user activity and business rules. If there has not yet been any userinteraction, business rules and embedded code determine the content ofSmartBar™ cells 21.

Once the web page 20 is generated, the user's activity on that page, andsubsequently viewed pages, is monitored and evaluated. (Step 120). Theuser's activity includes time spent on a particular page, additionaldata requests, adding items to a cart, and the like. The system revisesthe web page being displayed (Step 130) based on the user's activity oralternatively generates a new page based on the activity (Step 110).

The business rule engine processes, in real-time, the events associatedwith each user and decides what action to take, if any. If the businessrule engine determines a need, action is taken in real-time. If noimmediate action has to be taken, a non-modified web page is displayed.Specific actions to take include special offers, invitations to chat,help icons, related products, related material, displaying pop-ups,clickable images, and the like.

The business rules engine uses rules that are based on conditions andactions taken while a user is visiting a specified website or series ofweb pages. Certain conditions will result in specific actions beingtaken. The conditions include both the activities that a user thatperforms while on a site and the user's behavior while on a page, and ifavailable, the past activity, IP address, search activity, and the like.Rules provide a way to react to customer activity. Visitor rules alsocustomize the processing of visitors and/or people communicating viachat or another channel. In a preferred embodiment, rules are createdwithin a specific context that determines the circumstances in which therule will apply. The rules respond to conditions that exist. Conditionsspecify which actions are triggered. If no conditions are specified, therule is triggered in response to all activity. It should be noted thatmultiple conditions can be specified or Boolean logic can be used.

Each rule can control multiple cells, and multiple rules can affect asingle cell. The rules control the displayed content. Under certaincircumstances, a cell may not display any content. Marketers or othersdefine the content of the cells. Web designers place calls forSmartBars™ and SmartBar™ cell content. The management of the page isdone using a template. The template for a SmartBar™ is preferably storedin a content library, not on a web page.

Rules allow the web site to react to visitor activity on the website.Visitor Rules customize the processing of website visitors; they areused to create custom business rules that trigger related actions suchas chat invitations, promotional offers, marketing campaigns, and thelike. Rules are preferably created with a specific rule context or RuleType that determines the circumstances in which the rule will apply. Forexample, a rule that is set for “when a visitor enters site” will betriggered for processing each time a visitor enters the site. When theuser visits the site, the conditions specified by the rule will bechecked and if found true, the actions specified in the rule will beperformed by the system.

TABLE 1 Visitor Rules - Conditions Condition Rule type DescriptionBrowsing Current Page clicks to chat The URL or title of the currentpage match the specified pattern. enters page enters site queued forchat leaves site Current Page clicks to chat The referring URL of thecurrent page match the specified pattern. Referring URL enters pageenters site queued for chat leaves site Number of clicks to chat Thenumber of pages visited during this session. Pages enters page enterssite queued for chat leaves site Referring URL clicks to chat Matchesthe referrer of the visitor's first visit to the site. enters pageenters site queued for chat leaves site Search Engine clicks to chat TheURL from which the visitor arrived is from a search engine. Found enterspage enters site queued for chat leaves site Search Engine clicks tochat The search engine from which the request came. Identity enters pageenters site queued for chat leaves site Survey clicks to chat Responseto a question in a particular survey. Question enters page enters sitequeued for chat leaves site Visited Page clicks to chat The visitorvisited a page whose URL or title matches the specified pattern. enterspage enters site queued for chat leaves site Chat Available for clicksto chat Visitor is available for a chat invitation. Invitation enterspage enters site queued for chat leaves site Has Chat clicks to chatVisitor has chatted during the current session. enters page enters sitequeued for chat leaves site Has Chat clicks to chat The visitorrequested to chat in a previous visit. History enters page enters sitequeued for chat leaves site In Chat clicks to chat The visitor iscurrently involved in a chat session with an operator. enters pageenters site queued for chat leaves site In Chat or clicks to chat Thevisitor is currently in a chat, or waiting for a chat to be established.Waiting for Chat enters page enters site queued for chat leaves site Inor After Chat clicks to chat The visitor is currently in a chat, or haspreviously been in chat enters page enters site queued for chat leavessite Invited to Chat clicks to chat The visitor has been invited tochat. enters page enters site queued for chat leaves site Refused Chatclicks to chat An invitation to chat been has sent to the visitor andthe visitor refused to chat. enters page enters site queued for chatleaves site Miscellaneous Action Fired clicks to chat The action withthe specified name has already fired during this session. enters pageenters site queued for chat leaves site At Least One clicks to chat Therule with the specified name has already been triggered during thissession. Rule Triggered enters page enters site queued for chat leavessite Predictive Dialer enters page Triggers a predictive dialer with thespecified settings. A Predictive Dialer controls the number of enterssite invitations sent to site visitors. Random clicks to chat A randominteger between 0 and the specified number. Number enters page enterssite queued for chat leaves site Rule Triggered clicks to chat Theoutcome with the specified rule has already been triggered during thissession. enters page enters site queued for chat leaves site OperatorsAvailable clicks to chat At least one operator is online. (i.e., is theoperator in the “online” state, not “away” or “back in 5”). Operatorsenters site leaves site Number of clicks to chat The Number of availableoperators available. Operators enters site Available leaves site Onlineclicks to chat Operators are currently in the “online” state. Anoperator that is “away” or “back in 5” is not Operators enters siteconsidered online. leaves site Room clicks to chat There is at least oneoperator of the skill specified online in the current visitor's Room.Operators enters site Online leaves site Skill Operators clicks to chatThere is at least one operator of the specified skill available.Available enters page enters site queued for chat leaves site SkillOperators clicks to chat There is at least one operator of the specifiedskill online. Online enters site leaves site Time Functions Day of theclicks to chat The day of the week. Week enters page enters site queuedfor chat leaves site Days Since Last clicks to chat The number of dayssince the last time this visitor has requested to chat. Click-to-Chatenters page enters site queued for chat leaves site Days Since Lastclicks to chat The number of days since the visitor's last visit to thesite (fails if this is the first visit). Visit enters page enters sitequeued for chat leaves site Invitation clicks to chat The number ofseconds for the visitor to be invited to chat. This condition alsochecks the visitor's History (cross enters page previous sessions. Tocheck chat invitations only in the current session use “Invited to Chat”or session) enters site “Time Since Last Invite” queued for chat leavessite Invitation clicks to chat The number of seconds the Invitation tochat timed out. If the last invitation did not timeout, the Timeoutenters page condition will always be false. enters site queued for chatleaves site Seconds in clicks to chat The number of seconds the visitorwas on the current page. Current Page enters page enters site queued forchat leaves site Seconds Since clicks to chat The number of secondssince the visitor was declined. Decline enters page enters site queuedfor chat leaves site Seconds Since clicks to chat The number of secondssince the visitor last visited a page that matches the specifiedpattern. Last Visit to enters page Page enters site queued for chatleaves site Time In Site clicks to chat The time in seconds that thevisitor spent in the site during this session. enters page enters sitequeued for chat leaves site Time of the Day clicks to chat The number ofminutes elapsed since midnight, Eastern Standard Time, today. enterspage enters site queued for chat leaves site Time Since clicks to chatThe time in seconds since the specified action fired. Action Firedenters page enters site queued for chat leaves site Time Since clicks tochat The time in seconds since the custom variable was modified. Customenters page Variable enters site Modified queued for chat leaves siteTime Since Last clicks to chat The time in seconds since the visitor'slast invite. Invite enters page enters site queued for chat leaves siteTime Since Rule clicks to chat The time in seconds since the rule fired.Fired enters page enters site queued for chat leaves site Wait Timeclicks to chat The time in seconds that the visitor has been in thequeue. enters page enters site queued for chat leaves site Variables AllValues of clicks to chat Apply the comparison to All values of thespecified Custom Variable. All values must be Numeric Custom enters pageand satisfy the comparison condition. Variable enters site queued forchat leaves site At Least One clicks to chat The Custom Variable has atleast one value that satisfies the comparison condition. Numeric Valueenters page Enter custom variable name in the first field, and number tomatch in the last field. of Custom enters site Variable queued for chatleaves site At Least One clicks to chat The Custom Variable has at leastone value that satisfies the comparison condition. Value of enters pageEnter custom variable name in the first field, and string to match inthe last field. Custom enters site Variable queued for chat leaves siteCustom Flag clicks to chat The custom flag variable satisfies thecomparison condition. Variable enters page enters site queued for chatleaves site Custom clicks to chat The value of the Custom Variable thatcorresponds to the specified name Variable enters page enters sitequeued for chat leaves site Custom clicks to chat A Custom Variable withthe specified name has been set. Variable Has enters page Been Setenters site queued for chat leaves site Custom clicks to chat There is aCustom Variable on the current page. Variable on enters page CurrentPage enters site queued for chat leaves site Numeric clicks to chatApply the comparison to All values of the specified Custom Variable. Allvalues must be Numeric Custom enters page and satisfy the comparisoncondition. Variable enters site queued for chat leaves site NumericValues clicks to chat The numeric value of the Custom Variable with thespecified name (fails if Custom Variable has of Custom enters page notoccurred or the value is not numeric). Enter Custom Variable name in thefirst field, and Variable enters site number to match in the last field.queued for chat leaves site Visitor Properties Browser Type clicks tochat The visitor's browser matches the specified pattern. (User Agent)enters page enters site queued for chat leaves site Hot Lead clicks tochat Visitor is specified as a hot lead. enters page enters site queuedfor chat IP clicks to chat The visitor's IP address or host-DNS matchesthe specified pattern. enters page enters site queued for chat leavessite Repeat Visit clicks to chat This visitor has been to the sitebefore this session. enters page enters site queued for chat leaves siteSkill clicks to chat The visitor's skill group. enters page enters sitequeued for chat leaves site Visitor Group clicks to chat The groupnumber for this visitor, if all visitors are grouped into groups. Thesite visitors are enters page randomly segmented into the number ofgroups you set in the 3rd parameter. You can then check enters site towhich specific group the visitor has been assigned. queued for chatleaves site

Conditions may include the type of page, section of a page or a specificURL. Additionally, if the user reaches a page via a hyperlink or bytyping a URL, that scenario can be monitored without taking any action.The time a user spends on a specific page may also be a condition. Forexample, the system can monitor whether a user spends more or less thana specified time on a page or group of pages. Conditions relate toevents that occur as well as events that do not occur. For example,adding items to a cart but not checking out.

Rule conditions can also apply to variables. Rule actions can set thevalue of a variable to a predetermined value. For example, the value oroccurrence may be a shopping cart total greater than a specified dollaramount or contain more or less than a specified amount/quantity.Further, other variables can indicate a transaction error (a Booleanvariable). The system can also monitor at least such items as anoccurrence of a specified event, entering a communication channel suchas chat before or after a selection, days since last chat interaction,and the like. Further, other variables can be a new visitor, oldvisitor, user's IP address, and the like.

As discussed above, when certain conditions occur, an action istriggered. Actions may contain sub-actions. In one embodiment, theactions are executed in a specific order. However, in anotherembodiment, the actions occur in random or non-specified order. A sampleof actions based on rules and alerts are shown below in Table 2.

TABLE 2 Visitor Rules - Actions Type Rule Type Action ParametersDescription Operator Alerts clicks to chat Operator Alert Send an alertto operators concerning this enters page visitor. For a list of macrosavailable in enters site Operator Alerts, refer to the Live Personqueued for Customer Center. chat Description Enter a brief descriptionof the operator leaves site alert, if you so wish. browsing site HTMLUse the HTML box to design your alert. Plain text can be used in thisarea, but HTML tagging will serve to make the alert more eye-catching.Chat Audit clicks to chat Email this Email Email a copy of the chattranscript to the enters site transcript Sender Name specified address.The email will arrive from leaves site Sender Email the specifiedsender. Set the subject to help Subject you identify the email. ForwardEmail Email a copy of the chat transcript to the transcript from Subjectspecified address. The email will arrive from visitor email Email Customthe email associated with the visitor. You Variable can optionally setthe custom variable to be used to extract the visitor's email address(Email Custom Variable). Visitor clicks to chat Engage Visitor NA Send aproactive chat request to a visitor. Experience enters page CustomEngage <custom Engage visitor using custom image enters site Visitordirectory> directory. The directory should not end with leaves site a“/”. browsing site Set Visitor <name of visitor Assign the session to aselected Visitor Profile profile> Profile. Enable/Disable Pre-ChatEnable/Disable Pre-Chat survey status for Pre-Chat Survey the visitorduring current session. Survey Enable/Disable Exit Survey Enable/Disablethe Exit survey status for the Exit Survey visitor during currentsession. Enable/Disable Operator Survey Enable/Disable the Operatorsurvey status Operator Survey for the visitor during current session.Set Pre-Chat <name of pre- Set specific Pre-Chat survey for the visitorsurvey chat survey> during current session. Set Exit survey <name ofexit Set specific Exit survey for visitor during survey> currentsession. Set Operator <name of Set specific Operator survey for visitorsurvey operator during current session. survey> Set Offline <name ofoffline Set specific Offline survey for the visitor survey survey>during current session. Set Chat <name of chat Set a specific ChatWindow profile for the Window window> visitor during current session.Set System <name of Set specific System Messages set for the Messagessystem visitor during the current session. message set> enters page ShowPopup <popup> Display a pop-up. New pop-ups are created in the ContentLibrary. enters page Engage Visitor NA Send a proactive chat request toa visitor. enters page Custom Engage <custom Engage visitor using customimage Visitor directory> directory. The directory should not end with a“/”. enters page Show Warm-up <popup> Use the Content Library tab todefine new warm-ups. Variables clicks to chat Set Custom Variable NameAdd a custom variable to the session. enters page Variable VariableValue enters site Set Custom Flag Name Add an on/off custom variable tothe queued for Flag Variable State On session. chat <HelvBold> | Offleaves site Set Custom Variable name Add a custom variable to thesession. This browsing site Variable - One Variable Vale action willonly fire once per session. Time Only Routing queued for Assign to<Service Change the visitor's service queue. chat Service Queue Queue>Assign <Service Assign a percentage of visitors to a queue. Percentageto Queue> Use several of these outcomes together to Service Queue createa distribution plan for a group of visitors. Note that visitors willonly be assigned if the queue is online for the Skill Group. SalesEdition click to chat Set Visitor as NA Visitor is defined as a hotlead. enters site Hot Lead queued for Increment <file location> Includespecified words that can be viewed chat Reporting in the Conversionreports. Counters are browsing site Counter defined in Rules > Words >Report Counters. Set Visitor <segment Set the visitor Segment Segmentname>

FIGS. 3A-3H depict a typical user's interaction on a series of web pagesfor a given web site. FIG. 3A depicts a single page for a web site,retail.com. As shown, the SmartBar™ cells 21A and 21B are on the rightside of the page 100 in a SmartBar™ frame. As shown, the SmartBar™ frameincludes cells 21A-21F. In this embodiment, cell 21A is a communicationchannel, cell 22B is a product recommendation cell, cell 21C is anincentive cell, cell 21D is an express checkout cell, cell 21E is abuying guide, and cell 21F is a post purchase cell. It should be notedthat other cells could be part of a SmartBar™ frame. Other elements suchas headings 22, links, images and the like can be added using SmartBar™cells. While the SmartBar™ cells are shown together on a background. Inone embodiment, they are space apart from one another. In anotherembodiment, the SmartBar™ cells blend into the page as uniform elements.The SmartBar™ cells as shown provide a user with means to initiate helpvia online chat or investigate specials. In a preferred embodiment, theSmartBar™ frame and all of its cells are on each page, however, onlythose cells that have had their content requested are displayed. If theuser browsing page 100 clicks (selects) SmartBar™ cell 21B, the web pageshown in FIG. 3B is generated.

As show in FIG. 3B, web page 102 includes SmartBar™ cells 21A, 121, andSmartBar™ 221. SmartBar™ 121 is an example of a single-cell SmartBar™. Aweb designer or marketer may include cell 21A on every web page for thissite because it is a help button. SmartBar™ cells 221 and 121 aregenerated based on business rules and user activity. For example,SmartBar™ frame 221 displays various cameras and camcorders based onpopularity. Additionally, it should be noted other information can bepresented to the users such as shop by brand options and the like.

If the user selects the camera designated in SmartBar™ cell 121 the useris brought to a webpage 104 depicted in FIG. 3C. As shown in FIG. 3Conly SmartBar™ cell 21A is present. Depending on the web design otherSmartBar™ cells can be displayed. When the user adds the items shown inFIG. 3C to a shopping cart, a new web page 106 is displayed as well asother options in the SmartBar™ cells. As shown in FIG. 3D, other salesand marketing SmartBar™ cells can be added to the shopping cart pagesuch as a free shipping incentive (21C) and instruction for purchasingon the website (21E). It should be noted that the free shipping or otherelement can be determined based on the purchase price or value of itemsin the visitors shopping cart.

When the user selects the SmartBar™ cell 21C designating the freeshipping a new screen is generated as shown in FIG. 3E. Here, theSmartBar™ cell can include other items such as other productsmanufactured by the same manufacturer 21B or an express checkout button21D. Further, the item being featured in the center frame can also bemanaged as a dynamic-content SmartBar™ cell. It should be noted thatcell 21B changes its content based on conditions present during userinteraction. Based on the business rules used to generate the web pages,if the user selects the Sony item in cell 21B a new screen 110 as shownin FIG. 3F is generated. As shown, this screen 110 can include aSmartBar™ cell offering a discount if the user adds the current item tothe cart. It should be noted that while a discount is shown in FIG. 3Fas SmartBar™ cell 21D any offer can be implemented or informationpresented using SmartBar™ cells.

As shown in FIG. 3G, once the second item is added to the shopping carta new basket screen is generated. This new screen reflects the discountoffer. It should be noted that because the visitor already qualified forthe free-shipping offer shown to the user previously, this incentive isno longer generated. Once the user checks out, she is provided with areceipt page (FIG. 3H). On this page, because the order is complete, theuser is provided with an opportunity to request a catalogue (cell 21F).It should be noted that other offers can be provided to the user at anytime and/or inst at any point on the screen.

In the preferred embodiment, the SmartBar™ code on the page requests itscontent to be rendered with respect to a specified template. Thetemplate is stored in the Content Library. This template is configuredand customized by the user. Generic templates are also provided with thesoftware.

Sample SmartBar ™ <iframe id=“LPDynamicFrameSales”name=“LPDynamicFrameSales” src=“blank.html” width=“1” height=“0”frameBorder=“0” marginwidth=“0” marginheight=“0” scrolling=“no”></iframe> <script language=“javascript”> functionloadLPDynamicFrameframe( ) var s = document.createElement(“script”);s.src=“http://sales.liveperson.net/hc/90331780/?cmd=file&file=dynamicFrame&dynamicFrame=SmartBar“+  “&frame=LPDynamicFrameSales&site=90331780”;document.body.appendChild(s); if (typeof(lpVisitorDependantCode) ==“undefined”) lpVisitorDependantCode = new Array( ); lpVisitorDependantCode[lpVisitorDependantCode.length] =loadLPDynamicFrameframe; </script>

In another embodiment, the code for rendering the SmartBar™ is embeddedon the web page, requesting in real-time the content to be resolvedthrough the business rules engine. As shown below, the SmartBar™ codeestablishes cells on a web page. The code below includes programmedcontent calls. Alternatively, the code includes calls to other content.These cells are then using the business rules as discussed above. Itshould be noted that the placement of the cells is at the programmer'sdiscretion for the preferred presentation and that the business rulesare designed for specific marketing purposes, informational services,and the like.

Sample SmartBar <!-- Instructions:   Replace <account number> by youLivePerson account number   Replace <url path> by the complete path tothe SmartBar deployment directory --> <!-- ****** Begin LivePersonSmartBar(TM) Code ***** --> <div id=“lpMEguide”> <scripttype=“text/javascript”language=“JavaScript”>document.getElementById(“lpMEguide”).style.display= ‘none’;</script> <table width=“150” border=“0” cellspacing=“0”cellpadding=“0” style=“background-color: #eeeeee; padding: 2 4 2 4”><tr><td align=“center”><img src=“http://_.gif” style=“margin-bottom:2px”> </td> </tr> <tr id=“lpMEframe(LPbarCartCrossSell)TR” valign=“top”><td> <iframe name=“lpMEframe(LPbarCartCrossSell)”id=“lpMEframe(LPbarCartCrossSell)” marginwidth=“0” marginheight=“0”scrolling=“no” frameborder=“0” width=“0” height=“0”> </iframe> </td></tr> <tr id=“lpMEframe(LPbarCartCartActions)TR” valign=“top”> <td><iframe name=“lpMEframe(LPbarCartActions)”id=“lpMEframe(LPbarCartCartActions)” marginwidth=“0” marginheight=“0”scrolling=“no” frameborder=“0” width=“0” height=“0”> </iframe> </td></tr> <tr id=“lpMEframe(LPbarCartBuying)TR” valign=“top”> <td> <iframename=“lpMEframe(LPbarCartBuying)” id=“lpMEframe(LPbarCartBuying)”marginwidth=“0” marginheight=“0” scrolling=“no” frameborder=“0”width=“0” height=“0”> </iframe> </td> </tr> </table> <script> functionlpMEloadFrameSrc(lpMEname,ctlParms)   varlpMEframeId=“lpMEframe(“+lpMEname+”)”;   varlpMEframeSrcUrl=“http://sales.liveperson.net/hc/<accountnumber>/cmd/url/?site=<account number>&page=“+     escape(‘http://<urlpath>/Scripts/lpMEGenericContent.html?frame=’+lpMEframeId)+    “&info=(“+lpMEname+”)”+ctlParms+“&d”+(new Date( ).getTime( ));  document.getElementById(lpMEframeId).src=lpMEframeSrcUrl; functionlpMEloadAllFrames(timeoutTrigger)   if (timeoutTrigger)    setTimeout(“lpMEloadAllFrames(false)”, 10);     return;  lpdbInitDynamicButtonRealtime( );  lpMEloadFrameSrc(“LPbarCartCrossSell”,“&waitForVisitor=false”);  lpMEloadFrameSrc(“LPbarCartActions”,“&waitForVisitor=false”);  lpMEloadFrameSrc(“LPbarCarBuying”,“&waitForVisitor=false”); </script><iframe name=“lpMEwaitForVisitor” id=“lpMEwaitForVisitor” scrolling=“no”frameborder=“0” width=“0” height=“0”> </iframe> <script> varlpMEwaitForVisitorFlag; if (typeof(lpMEwaitForVisitorFlag)==“undefined”)  lpMEwaitForVisitorFlag=true;document.getElementById(“lpMEwaitForVisitor”).src=  “http://sales.liveperson.net/hc/<accountnumber>/cmd/url/?site=<account number>&page= ”+   escape(“http://<urlpath>/Scripts/lpMEloadAllFrames.html”) +  “&info=(lpMEwaitForVisitor)” +  “&waitForVisitor=“+(lpMEwaitForVisitorFlag?“redirectBack&redirectTimeout=400”;“false”) +  “&d=“+(new Date( ).getTime( )); </script> </div> <!-- ****** EndLivePerson SmartBar(TM) Code ***** -->

SmartBar™ cells are dynamic cells embedded in web pages. In a preferredembodiment, the HTML code embedded in the web page pulls informationfrom a dedicated web server.

FIG. 4A depicts one embodiment of the content library used to generateSmartBar™ cell content. The user can select from clickable images,links, pop-ups, and SmartBar™ templates and the like. In a preferredembodiment, the user can create and modify content. The “create new”button generates a screen such as the one shown in FIG. 4B.

FIG. 4B is a template editor. A user can name and describe a templateand link the template to various promotions. Further, the templateprovides an area whereby HTML code is entered to generate the cells.

As shown in FIG. 4C, a clickable image is defined. The marketer entersthe name, description, resource type URL, destination URL. In apreferred embodiment, the user enters the height and width of theclickable content on this screen. Further, once the template isestablished, rules are associated with the specific SmartBar™.

FIG. 4D shows various rule types that will trigger a SmartBar™ templateand the rule priorities within each type. Rule types include clicking adynamic button, entering a page, entering a site, click-to-chat, leavinga site, browsing a site, and the like. Each of these rule types candesignate a specific activity or group of activities. Additionally,other pop-ups or content is displayed based on rules and user activityas discussed above.

In one embodiment, rules can be organized under campaigns (FIG. 4E).Campaigns can be setup for a specific period of time.

It should be noted that in another embodiment, a user first establishesrules, then groups these rules into campaigns. After the rules andcampaigns are established, SmartBar™ templates are generated to supportthe campaigns. Further, because the generation of the SmartBar™ cells,the business rules, and the web layout are discreet activities, nospecific order is required for the overall implementation. In apreferred embodiment, a user defines a campaign. Rules are then writtenor selected to accomplish the campaign.

The present invention may be described herein in terms of functionalblock components, code listings, optional selections and variousprocessing steps. It should be appreciated that such functional blocksmay be realized by any number of hardware and/or software componentsconfigured to perform the specified functions. For example, the presentinvention may employ various integrated circuit components, e.g., memoryelements, processing elements, logic elements, look-up tables, and thelike, which may carry out a variety of functions under the control ofone or more microprocessors or other control devices.

Similarly, the software elements of the present invention may beimplemented with any programming or scripting language such as C, C++,C#, Java, COBOL, assembler, PERL, or the like, with the variousalgorithms being implemented with any combination of data structures,objects, processes, routines or other programming elements.

Further, it should be noted that the present invention may employ anynumber of conventional techniques for data transmission, signaling, dataprocessing, network control, and the like.

It should be appreciated that the particular implementations shown anddescribed herein are illustrative of the invention and its best mode andare not intended to otherwise limit the scope of the present inventionin any way. Indeed, for the sake of brevity, conventional datanetworking, application development and other functional aspects of thesystems (and components of the individual operating components of thesystems) may not be described in detail herein. Furthermore, theconnecting lines shown in the various figures contained herein areintended to represent exemplary functional relationships and/or physicalor virtual couplings between the various elements. It should be notedthat many alternative or additional functional relationships or physicalor virtual connections may be present in a practical electronic datacommunications system.

As will be appreciated by one of ordinary skill in the art, the presentinvention may be embodied as a method, a data processing system, adevice for data processing, and/or a computer program product.Accordingly, the present invention may take the form of an entirelysoftware embodiment, an entirely hardware embodiment, or an embodimentcombining aspects of both software and hardware. Furthermore, thepresent invention may take the form of a computer program product on acomputer-readable storage medium having computer-readable program codemeans embodied in the storage medium. Any suitable computer-readablestorage medium may be utilized, including hard disks, CD-ROM, opticalstorage devices, magnetic storage devices, and/or the like.

The present invention is described below with reference to blockdiagrams and flowchart illustrations of methods, apparatus (e.g.,systems), and computer program products according to various aspects ofthe invention. It will be understood that each functional block of theblock diagrams and the flowchart illustrations, and combinations offunctional blocks in the block diagrams and flowchart illustrations,respectively, can be implemented by computer program instructions. Thesecomputer program instructions may be loaded onto a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructionsthat execute on the computer or other programmable data processingapparatus create means for implementing the functions specified in theflowchart block or blocks.

These computer program instructions may also be stored in acomputer-readable memory that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meansthat implement the function specified in the flowchart block or blocks.The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer-implemented process such that theinstructions that execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, functional blocks of the block diagrams and flowchartillustrations support combinations of means for performing the specifiedfunctions, combinations of steps for performing the specified functions,and program instruction means for performing the specified functions. Itwill also be understood that each functional block of the block diagramsand flowchart illustrations, and combinations of functional blocks inthe block diagrams and flowchart illustrations, can be implemented byeither special purpose hardware-based computer systems that perform thespecified functions or steps, or suitable combinations of specialpurpose hardware and computer instructions.

One skilled in the art will also appreciate that, for security reasons,any databases, systems, or components of the present invention mayconsist of any combination of databases or components at a singlelocation or at multiple locations, wherein each database or systemincludes any of various suitable security features, such as firewalls,access codes, encryption, de-encryption, compression, decompression,and/or the like.

The scope of the invention should be determined by the appended claimsand their legal equivalents, rather than by the examples given herein.For example, the steps recited in any method claims may be executed inany order and are not limited to the order presented in the claims.Moreover, no element is essential to the practice of the inventionunless specifically described herein as “critical” or “essential.”

In the specification, the term “media” means any medium that can recorddata therein. The term “media” includes, for instance, a disk shapedmedia for such as CD-ROM (compact disc-read only memory), magnetooptical disc or MO, digital video disc-read only memory or DVD-ROM,digital video disc-random access memory or DVD-RAM, a floppy disc, amemory chip such as random access memory or RAM, read only memory orROM, erasable programmable read only memory or E-PROM, electricalerasable programmable read only memory or EE-PROM, a rewriteablecard-type read only memory such as a smart card, a magnetic tape, a harddisc, and any other suitable means for storing a program therein.

A recording media storing a program for accomplishing the abovementioned apparatus maybe accomplished by programming functions of theabove mentioned apparatuses with a programming language readable by acomputer or processor, and recording the program on a media such asmentioned above.

A server equipped with a hard disk drive may be employed as a recordingmedia. It is also possible to accomplish the present invention bystoring the above mentioned computer program on such a hard disk in aserver and reading the computer program by other computers through anetwork.

As a computer processing device, any suitable device for performingcomputations in accordance with a computer program may be used. Examplesof such devices include a personal computer, a laptop computer, amicroprocessor, a programmable logic device, or an application specificintegrated circuit.

While this invention has been described by reference to a preferredembodiment, it should be understood that numerous changes could be madewithin the spirit and scope of the inventive concepts described.Accordingly, it is intended that the invention not be limited to thedisclosed embodiment, but that it have the full scope permitted by thelanguage of the following claims.

What is claimed is:
 1. A computer-implemented method, comprising:providing, by a server device, a toolbar including one or more cells fordisplaying content resources, wherein the toolbar is dynamicallygenerated and persistently displayed as an additional window over one ormore webpages of a website; providing a plurality of content resources,wherein the plurality of content resources include resources ofdifferent content types, wherein at least one content resource includesa real-time interactive element that facilitates a chat communicationwith an available agent, and wherein an agent is available when theagent is available to participate in the chat communication and has askill specified by the website; dynamically updating display and contenttype of content resources presented in cells of the toolbar, wherein thedisplay and content type of the content resources are dynamicallyupdated in real-time as activities are performed on the website and ascontent of the website changes, wherein the display and content type ofthe content resources are dynamically updated using one or more contentresource rules, and wherein the one or more content resource rulescontrol a type of content resource to present in the toolbar based onone or more activities performed on one or more webpages of a websiteand based on content of the one or more webpages; receiving a requestfor a content resource, wherein the request is based on one or moredetected activities performed on the one or more webpages of thewebsite; selecting a content resource rule according to the one or moredetected activities performed on the one or more webpages of thewebsite, wherein the content resource rule is evaluated to determinewhether to provide a real-time interactive element that facilitates achat communication; using the selected content resource rule todetermine whether one or more agents are available to participate in achat communication, wherein the selected content resource rule isfurther used to determine whether the one or more agents have a skillspecified by the website; dynamically selecting a content resource usingthe selected content resource rule when the one or more agents aredetermined to be available to participate in a chat communication and tohave the skill specified by the website, wherein the content resourceincludes a real-time interactive element that facilitates a chatcommunication between an agent device of an available agent having theskill and a customer device; providing the selected content resource forpresentation in at least one of the cells of the toolbar displayed overthe one or more webpages, wherein content resources of different contenttypes are presented within different cells of the toolbar, and whereinselection of the real-time interactive element facilitates a chatcommunication between an agent device associated with an available agentand a customer device; receiving, by the server device, inputcorresponding to selection of the real-time interactive element; andfacilitating, by the server device, the chat communication between thecustomer device and the agent device of the available agent having theskill.
 2. The method of claim 1, wherein the content resource rulesfurther control content resource presentation using past activitiesperformed on the web site.
 3. The method of claim 1, wherein the contentresource rules further control content resource presentation using anInternet Protocol address.
 4. The method of claim 1, wherein a server isdedicated to select the content resource rules and provide the selectedcontent resource for presentation in at least one of the cells of thetoolbar according to the selected content resource rule.
 5. The methodof claim 4, wherein content for the one or more webpages of the websiteis provided by a first server, and wherein the dedicated server providesthe selected content resource to the first server.
 6. The method ofclaim 1, wherein a delivery format of the selected content resource isdetermined by the selected content resource rule.
 7. The method of claim6, wherein the delivery format includes one or more of an overlay or apopup.
 8. The method of claim 1, wherein the one or more cells arepopulated with the content resources of the different content typessimultaneously.
 9. The method of claim 1, wherein the toolbar includingthe one or more cells is placed in a same location on each webpage ofthe website.
 10. The method of claim 1, wherein each cell of the toolbaris associated with a particular marketing objective.
 11. A serverdevice, comprising: a processor; and a non-transitory computer-readablestorage medium containing instructions configured to cause the processorto perform operations including: providing a toolbar including one ormore cells for displaying content resources, wherein the toolbar isdynamically generated and persistently displayed as an additional windowover one or more webpages of a website; providing a plurality of contentresources, wherein the plurality of content resources include resourcesof different content types, wherein at least one content resourceincludes a real-time interactive element that facilitates a chatcommunication with an available agent, and wherein an agent is availablewhen the agent is available to participate in the chat communication andhas a skill specified by the website; dynamically updating display andcontent type of content resources presented in cells of the toolbar,wherein the display and content type of the content resources aredynamically updated in real-time as activities are performed on thewebsite and as content of the web site changes, wherein the display andcontent type of the content resources are dynamically updated using oneor more content resource rules, and wherein the one or more contentresource rules control a type of content resource to present in thetoolbar based on one or more activities performed on one or morewebpages of a website and based on content of the one or more webpages;receiving a request for a content resource, wherein the request is basedon one or more detected activities performed on the one or more webpagesof the website; selecting a content resource rule according to the oneor more detected activities performed on the one or more webpages of thewebsite, wherein the content resource rule is evaluated to determinewhether to provide a real-time interactive element that facilitates achat communication; using the selected content resource rule todetermine whether one or more agents are available to participate in achat communication, wherein the selected content resource rule isfurther used to determine whether the one or more agents have a skillspecified by the website; dynamically selecting a content resource usingthe selected content resource rule when the one or more agents aredetermined to be available to participate in a chat communication and tohave the skill specified by the website, wherein the content resourceincludes a real-time interactive element that facilitates a chatcommunication between an available agent device having the skill and acustomer device; and providing the selected content resource forpresentation in at least one of the cells of the toolbar displayed overthe one or more webpages, wherein content resources of different contenttypes are presented within different cells of the toolbar, and whereinselection of the real-time interactive element facilitates a chatcommunication between an agent device associated with an available agentand a customer device; receiving, by the server device, inputcorresponding to selection of the real-time interactive element; andfacilitating, by the server device, the chat communication between thecustomer device and the agent device of the available agent having theskill.
 12. The system of claim 11, wherein the content resource rulesfurther control content resource presentation using past activitiesperformed on the web site.
 13. The system of claim 11, wherein thecontent resource rules further control content resource presentationusing an Internet Protocol address.
 14. The system of claim 11, whereina server is dedicated to select the content resource rules and providethe selected content resource for presentation in at least one of thecells of the toolbar according to the selected content resource rule.15. The system of claim 14, wherein content for the one or more webpagesof the website is provided by a first server, and wherein the dedicatedserver provides the selected content resource to the first server. 16.The system of claim 11, wherein a delivery format of the selectedcontent resource is determined by the selected content resource rule.17. The system of claim 16, wherein the delivery format includes one ormore of an overlay or a popup.
 18. The system of claim 11, wherein theone or more cells are populated with the content resources of thedifferent content types simultaneously.
 19. The system of claim 11,wherein the toolbar including the one or more cells is placed in a samelocation on each webpage of the website.
 20. The system of claim 11,wherein each cell of the toolbar is associated with a particularmarketing objective.
 21. A computer-program product, tangibly embodiedin a non-transitory machine-readable medium of a server device,including instructions configured to cause a data processing apparatusto: provide a toolbar including one or more cells for displaying contentresources, wherein the toolbar is dynamically generated and persistentlydisplayed as an additional window over one or more webpages of awebsite; provide a plurality of content resources, wherein the pluralityof content resources include resources of different content types,wherein at least one content resource includes a real-time interactiveelement that facilitates a chat communication with an available agent,and wherein an agent is available when the agent is available toparticipate in the chat communication and has a skill specified by thewebsite; dynamically update display and content type of contentresources presented in cells of the toolbar, wherein the display andcontent type of the content resources are dynamically updated inreal-time as activities are performed on the website and as content ofthe website changes, wherein the display and content type of the contentresources are dynamically updated using one or more content resourcerules, and wherein the one or more content resource rules control a typeof content resource to present in the toolbar based on one or moreactivities performed on one or more webpages of a web site and based oncontent of the one or more webpages; receive a request for a contentresource, wherein the request is based on one or more detectedactivities performed on the one or more webpages of the website; selecta content resource rule according to the one or more detected activitiesperformed on the one or more webpages of the website, wherein thecontent resource rule is evaluated to determine whether to provide areal-time interactive element that facilitates a chat communication; usethe selected content resource rule to determine whether one or moreagents are available to participate in a chat communication, wherein theselected content resource rule is further used to determine whether theone or more agents have a skill specified by the website; dynamicallyselect a content resource using the selected content resource rule whenthe one or more agents are determined to be available to participate ina chat communication and to have the skill specified by the website,wherein the content resource includes a real-time interactive elementthat facilitates a chat communication between an available agent devicehaving the skill and a customer device; and provide the selected contentresource for presentation in at least one of the cells of the toolbardisplayed over the one or more webpages, wherein content resources ofdifferent content types are presented within different cells of thetoolbar, and wherein selection of the real-time interactive elementfacilitates a chat communication between an agent device associated withan available agent and a customer device; receive input corresponding toselection of the real-time interactive element; and facilitate the chatcommunication between the customer device and the agent device of theavailable agent having the skill.
 22. The computer-program product ofclaim 21, wherein the content rules further control content resourcepresentation using past activities performed on the website.
 23. Thecomputer-program product of claim 21, wherein the content rules furthercontrol content resource presentation using an Internet Protocoladdress.
 24. The computer-program product of claim 21, wherein a serveris dedicated to select the content rules and provide the selectedcontent resource for presentation in at least one of the cells of thetoolbar according to the selected content rule.
 25. The computer-programproduct of claim 24, wherein content for the one or more webpages of thewebsite is provided by a first server, and wherein the dedicated serverprovides the selected content resource to the first server.
 26. Thecomputer-program product of claim 21, wherein a delivery format of theselected content resource is determined by the selected content resourcerule.
 27. The computer-program product of claim 26, wherein the deliveryformat includes one or more of an overlay or a popup.
 28. Thecomputer-program product of claim 21, wherein the one or more cells arepopulated with the content resources of the different content typessimultaneously.
 29. The computer-program product of claim 21, whereinthe toolbar including the one or more cells is placed in a same locationon each webpage of the web site.
 30. The computer-program product ofclaim 21, wherein each cell of the toolbar is associated with aparticular marketing objective.